package com.freeman.cement.service;

import com.freeman.cement.entity.MyEvent;
import com.freeman.cement.entity.ResponseResult;
import java.util.Map;

public interface EventDataService {

    /**
     * 事件列表查询
     */
    ResponseResult selectEvents(MyEvent myEvent, String begin, String end, int pageNo, int pageSize);

    /**
     * 查询某个值班室未处理事件的个数
     */
    ResponseResult selectUnhandleEventCount(int dutyRoomId);

    /**
     * 查询事件详细信息
     */
    ResponseResult findEventDetail(String eventId);

    /**
     * 查询某个事件的处理流程进度条
     */
    ResponseResult findEventProcessBar(String eventId);

    /**
     * 查询某个事件的全部处理流程记录
     */
    ResponseResult findEventProcessRecords(String eventId);

    /**
     * 查询某个事件的处理人列表
     */
    ResponseResult findEventHandlers(String eventId);

    /**
     * 获取报警事件详情
     * @param id
     * @return
     */
    ResponseResult getEventDetail(int id);

    /**
     * 获取报警图片
     * @param uri
     * @return
     */
    ResponseResult getEventPic(String uri);

    /**
     * 通过报警事件的主键id获取报警图片
     * @param id
     * @return
     */
    ResponseResult getEventPicById(int id);

    /**
     * 通过报警事件的主键id获取报警图片，从海康平台直接获取图片
     * @param id
     * @return
     */
    String getEventPicFromHikiscById(int id);

    /**
     * 获取报警图片并保存到本地
     * @param imageUrl 图片标识
     * @return 包含本地访问url的Map
     * @throws Exception 如果获取图片过程中发生错误
     */
    Map<String, String> getEventPicMap(String imageUrl) throws Exception;
}
